﻿using System.Collections;
using System.Windows.Media;

namespace DGMResourcesTool.Logic.Common
{
    public class H3dDelegate
    {
        public delegate void DelegateInt(int i);
        public delegate void DelegateFloat(float f);
        public delegate void DelegateLong(long l);
        public delegate void DelegateBool(bool b);
        public delegate void DelegateString(string s);
        public delegate void DelegateStringString(string s1, string s2);
        public delegate void DelegateBoolLong(bool b, long l);
        public delegate void DelegateLongBool(long l, bool b);
        public delegate void DelegateBoolInt(bool b, int i);
        public delegate void DelegateIntInt(int i1, int i2);
        public delegate void DelegateBoolString(bool b, string s);
        public delegate void DelegateStringInt(string s, int i);
        public delegate void DelegateArrayList(ArrayList al);
        public delegate void DelegateBoolBool(bool b1, bool b2);
        public delegate void DelegateLongInt(long l, int i);
        public delegate void DelegateLongString(long l, string s);
        public delegate void DelegateLongFloat(long l, float f);
        public delegate void DelegateTransform(Transform t);

        public delegate bool ReDelegateBool();
        public delegate int ReDelegateInt();
        public delegate float ReDelegateFloat();

        public delegate bool ReDelegateBoolParam1(object param1);

        public delegate void CommonDelegateParam1(object param1);
        public delegate void CommonDelegateParam2(object param1, object param2);
        public delegate void CommonDelegateParam3(object param1, object param2, object param3);
        public delegate void CommonDelegateParam4(object param1, object param2, object param3, object param4);
        public delegate void CommonDelegateParam5(object param1, object param2, object param3, object param4, object param5);
        public delegate void CommonDelegateParam6(object param1, object param2, object param3, object param4, object param5, object param6);
        public delegate void CommonDelegateParam7(object param1, object param2, object param3, object param4, object param5, object param6, object param7);
        public delegate object CommonReDelegateParam();
        public delegate object CommonReDelegateParam1(object param1);
        public delegate object CommonReDelegateParam2(object param1, object param2);
        public delegate object CommonReDelegateParam3(object param1, object param2, object param3);
        public delegate object CommonReDelegateParam4(object param1, object param2, object param3, object param4);
        public delegate object CommonReDelegateParam5(object param1, object param2, object param3, object param4, object param5);
    }
}